﻿#pragma once

#ifndef ARD_OPCODE_H
#define ARD_OPCODE_H

#include <string>
#include <Common.h>

class  CmdDecoder
{
public:
	virtual int decoder(uint32_t code) = 0;  // 纯虚函数
	virtual uint64_t getPC() = 0;  // 纯虚函数
protected:
	uint64_t _pc = 0; //PC 指针
	inline virtual void pcNext() = 0;  // 纯虚函数
	inline virtual void setPc(uint64_t pc) = 0;  // 纯虚函数
	inline virtual void offsetPc(int64_t pc) = 0;  // 纯虚函数
};

#endif // !ARD_OPCODE_H
